Recent years have shown a widespread consumer adoption of mobile computing devices (e.g., smartphones and tablets). A noticeable difference between mobile computing devices and traditional computing devices (e.g., desktop computers) is that mobile computing devices tend to be consistently used throughout the day to perform a variety of functions that are highly personalized to their users. Such functions can include, for example, sending and receiving messages (e.g., emails, chats, etc.), browsing the web, listening to music, taking photos, and so on. Notably, a user's interaction with his or her mobile computing device can, at least in some areas, conform to a strong and reliable pattern of behavior. For example, a user can typically access a different subset of applications at different times throughout the day, communicate with a different subset of individuals at different times throughout the day, and the like.
In some cases, these behavioral patterns can establish opportunities to enhance both the user's experience and the overall performance of the mobile computing device. For example, if a user's pattern of behavior indicates that he or she contacts the same individual at around the same time each day, e.g., when leaving his or her place of work in, it can be desirable for the mobile computing device to promote the individual within a user interface (UI) of a phone application that the user accesses to place phone calls using his or her mobile computing device. For understandable reasons, this functionality can substantially improve the user's overall satisfaction with his or her mobile computing device, especially when various software applications that are accessed by the user are configured to provide meaningful suggestions that properly anticipate the user's behavior and reduce the amount of input that the user is required to provide to access the functionality that he or she is seeking.
Notably, conventional techniques for attempting to predict a user's behavior continue to suffer from various issues that can degrade the user's experience and even degrade the performance of the user's mobile computing device. More specifically, conventional techniques tend to gather and analyze behavioral data in a disorganized manner, thereby making it difficult to provide meaningful and accurate predictions that can be used to enhance the user's experience. For example, inaccurately predicting a user's behavior can cause a mobile computing device to make suggestions to the user that are inaccurate and cumbersome to dismiss. Moreover, conventional techniques often are implemented at layers within an operating system (OS) of the mobile computing device that are difficult to update and that are largely inaccessible to software developers. Consequently, software developers are prevented from experimenting with and providing enhanced prediction techniques that can potentially improve overall accuracy and performance when generating predictions at a mobile computing device.
Accordingly, there exists a need for improved methods for gathering and organizing behavioral data in a manner that enables mobile computing devices to provide meaningful predictions to their end users.